Programs are available that permit cell phones lacking GPS capability to detect and display the approximate location of the phone on a map. By way of example, if the program is active and the phone is communicating with a cell tower, the phone transmits the cell tower's ID to a server. If the geographic location of the cell tower is known to the server, the server transmits the location to the program installed on the phone. The program, in turn, shows the location of the phone on a map based on the received location. The program may transmit more than one signal to the server. Even if the server computes and suggests an estimated position, the client device may use the locations provided by the server to estimate its own position.
In systems heretofore, the location has been similarly computed based on the phone's detection of multiple WiFi signals. Clustering algorithms, such as determining the centroid of the multiple locations of the multiple signals, have been used to estimate the location of the device.